[클라우드] 가상머신 (Virtual Machine)
2024-06-02
전통적인 배포 방식
예전에 서비스를 배포할 때에는, 물리적인 컴퓨터(서버) 한 대에 하나의 OS를 설치해서 여러 가지 프로그램을 설치하는 방식이었다.
계정을 나눠 여려명의 사용자가 이용할 수 있도록 할 수 있지만, 문제는 어떤 프로그램을 설치했을 때 다른 앱에도 영향을 끼칠 수가 있었다. ex) A라는 앱이 리소를 많이 잡아먹어 B앱의 성능이 저하
가상화 배포방식
위의 전통적인 배포 방식 문제의 해결책으로 도입된 것이 가상머신(Virtual Machine) 이다.
가상머신이란 컴퓨터의 하드웨어를 소프트웨어로 구현한 것을 말한다. 실재하는 컴퓨터 위에 소프트웨어로 논리적으로 만들어낸 또 하나의 컴퓨터라고 생각하면 쉽게 이해하는데 도움이 된다.
하이퍼바이저(Hypervisor) 라고 불리는 중간 계층에서 하나의 시스템 상에서 가상 컴퓨터를 여러개 구동할 수 있도록 해주며, 이 위에 여러 개의 가상 머신을 구축(OS, 앱) 할 수가 있다.
계정을 나누는 것이 아니라 한 대의 컴퓨터를 가지고 여러개의 OS를 구동할 수 있게 되며 CPU, RAM을 물리적으로 갈아끼는 것이 아니라 설정만으로 이를 수행할 수 있게 되었다.
클라우드 관점에서는?
클라우드는 이러한 가상화라는 기술 때문에 한 대의 하드웨어로 여러명의 사용자들에게 독립적으로 클라우드 서비스를 할 수 있다.
하지만 가상머신은 OS가 공유되지 않기 때문에 일일이 가상머신위에 OS를 설치해주어야한다.